package com.doublethread.easymart.modules.product.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;

/**
 * 分类DTO
 */
@Data
public class CategoryDTO {

    /**
     * 分类名称
     */
    @NotBlank(message = "分类名称不能为空")
    @Size(min = 1, max = 50, message = "分类名称长度必须在1-50个字符之间")
    private String name;

    /**
     * 父分类ID，0表示顶级分类
     */
    private Long parentId = 0L;

    /**
     * 分类图标URL或Base64数据
     * 支持URL格式或Base64格式的图片数据
     */
    @Size(max = 5000000, message = "分类图标数据过大")
    private String icon;

    /**
     * 分类描述
     */
    @Size(max = 300, message = "分类描述长度不能超过300个字符")
    private String description;

    /**
     * 排序值，数值越小越靠前
     */
    private Integer sortOrder = 0;
}
